package com.ruoyi.sys.admin.service;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.sys.admin.domain.Admin;

/**
 * 系统管理员Service接口
 * 
 * @author hyl
 * @date 2025-06-06
 */
public interface IAdminService 
{
    /**
     * 查询系统管理员
     * 
     * @param adminId 系统管理员主键
     * @return 系统管理员
     */
    public Admin selectAdminByAdminId(Long adminId);

    /**
     * 查询系统管理员列表
     * 
     * @param admin 系统管理员
     * @return 系统管理员集合
     */
    public List<Admin> selectAdminList(Admin admin);

    /**
     * 新增系统管理员
     * 
     * @param admin 系统管理员
     * @return 结果
     */
    public int insertAdmin(Admin admin);

    /**
     * 修改系统管理员
     * 
     * @param admin 系统管理员
     * @return 结果
     */
    public int updateAdmin(Admin admin);

    /**
     * 批量删除系统管理员
     * 
     * @param adminIds 需要删除的系统管理员主键集合
     * @return 结果
     */
    public int deleteAdminByAdminIds(Long[] adminIds);

    /**
     * 删除系统管理员信息
     * 
     * @param adminId 系统管理员主键
     * @return 结果
     */
    public int deleteAdminByAdminId(Long adminId);

    /**
     * 校验用户是否允许操作
     *
     * @param admin 管理员信息
     */
    public void checkAdminAllowed(Admin admin);


    /**
     * 修改管理员状态
     *
     * @param admin 管理员信息
     * @return 结果
     */
    int updateAdminStatus(Admin admin);
}
